;Datei : listing5.asm
;Beschreibung: Ein einfacher Screen.
;Autor : Enrico Bauermeister
;Datum : 14.12.1997
;Assembler : TFA AsmOne v1.30
;===================================
;Interrupts sperren - Betriebssystem ausschalten
;-----------------------------------------------
move.w #$4000,$dff09a
;Sprites ausschalten (sonst stören die nur)
;------------------------------------------
move.w #$0020,$dff096
;Adresse der Bitplane in die Bitplanepointer eintragen
;-----------------------------------------------------
;Zuerst wird das Low-Word in $dff0e2 und anschließend das High-Word in
;$dff0e0 eingetragen.
;-----------------------------------------------------
move.l #Plane,d0 ;Plane-Aresse nach d0
move.w d0,plane1+6 ;Low-Word eintragen
swap d0 ;Words in d0 vertauschen
move.w d0,plane1+2 ;High-Word eintragen
;Copperliste aktivieren
;----------------------
move.l #Copperliste,$dff084
;Warten auf Rasterstrahl (eine 1/50 Sekunde)
;-------------------------------------------
wait:
move.l $dff004,d0
and.l #$fff00,d0
cmp.l #$00003000,d0
bne.s wait
;Linke Maustaste gedrückt ?
;--------------------------
btst #6,$bfe001
bne.s wait
;Sprites wieder einschalten
;--------------------------
move.w #$8020,$dff096
;Interrupts wieder erlauben
;--------------------------
move.w #$c000,$dff09a
;Programmende
;------------
moveq #0,d0
rts
;Copperliste
;-----------
SECTION Cl,CODE_C
Copperliste:
dc.w $008e,$2c81 ;DIWSTRT
dc.w $0090,$2cc1 ;DIWSTOP
dc.w $0092,$0038 ;DDFSTRT
dc.w $0094,$00d0 ;DDFSTOP
dc.w $0100,$1200 ;BPLCON0
dc.w $0108,$0000 ;BPL1MOD
dc.w $010a,$0000 ;BPL2MOD
plane1:
dc.w $00e0,$0000 ;BPL1PTH
dc.w $00e2,$0000 ;BPL1PTL
dc.w $0180,$0000 ;COLOR00
dc.w $0182,$0fff ;COLOR01
dc.w $ffff,$fffe ;Copperlistenende
;Bitplane
;--------
SECTION Bp,BSS_C
Plane:
ds.b 10240
END
Zurück zum Programmierkurs